/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package com.marlboroug.parameters;

import com.marlboroug.entity.Parameters;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;


@Stateless
public class ParametersManager implements ParametersManagerRemote {
    
    @PersistenceContext(unitName = "Marlboroug-ejbPU")
    EntityManager em;
    
    /** Permet de mettre à jour le paramètre
     * 
     * @param parameter Envoie un objet parameters
     * @return Un boolean pour confirmer la modification
     */
    @Override
    public boolean update (Parameters parameter) {
        Parameters temp = find(parameter.getIDparameters());
        if(temp != null){
            em.merge(parameter);
            return true;
        }else {
            return false;
        }
    }
    
    /** Permet de retourner un objet Parameters en fonction d'un ID
     * 
     * @param ID_parameters Un ID du paramètre
     * @return Un objet paramètre
     */
    @Override
    public Parameters find (Long ID_parameters) {
        Parameters parameters = em.find(Parameters.class, ID_parameters);
        return parameters;
    }
    
    /** Permet de retourner le paramètre
     * 
     * @return Le paramètre
     */
    @Override
    public List<Parameters> FindParameters () { 
        String q = "SELECT m FROM Parameters m"; //select `Parameters`.article_page from `Parameters`
        TypedQuery<Parameters> query = em.createQuery(q, Parameters.class);
        List<Parameters> parameter = query.getResultList();
        return parameter;
    }
    
}
